module klang.编译.常量值.常量值_;
import 全局;
import klang.编译.类型.枚举值.枚举值_: SK;
SK[dstring] 令牌关联数组;
dstring[] 令牌文本数组;
static this() {
    令牌关联数组 = [
        "未知"d : SK.未知__,
        "文件结尾"d : SK.文件结尾,
        "单行注释"d : SK.单行注释,
        "多行注释"d : SK.多行注释,
        "新行"d : SK.新行,
        "空白"d : SK.空白,
        "指令注释"d : SK.指令注释,
        "冲突标记"d : SK.冲突标记,
        "数字字面量"d : SK.数字字面量,
        "文本字面量"d : SK.文本字面量,
        "{"d : SK.左大括号,
        "}"d : SK.右大括号,
        "("d : SK.左括号,
        ")"d : SK.右括号,
        "["d : SK.左方括号,
        "]"d : SK.右方括号,
        "\""d : SK.双引号,
        "'"d : SK.单引号,
        "."d : SK.点号,
        ";"d : SK.分号,
        ","d : SK.逗号,
        "<"d : SK.左尖括号,
        ">"d : SK.右尖括号,
        "+"d : SK.加号,
        "-"d : SK.减号,
        "*"d : SK.星号,
        "\\"d : SK.反斜杠,
        "/"d : SK.除号,
        "%"d : SK.百分号,
        "&"d : SK.且号,
        "|"d : SK.或号,
        "^"d : SK.异或号,
        "!"d : SK.叹号,
        "~"d : SK.波折号,
        "$"d : SK.美元,
        "?"d : SK.问号,
        " : "d : SK.冒号,
        "@"d : SK.艾特,
        "#"d : SK.井号,
        "`"d : SK.反引号,
        "="d : SK.等号,
        "标识符"d : SK.标识符,
        "目标"d : SK.目标
    ];
    令牌文本数组 = .制作语法词典(.令牌关联数组);
}
dstring[] 制作语法词典(SK[dstring] 词典) {
    dstring[] arr = [];
    foreach (dstring v, SK k; 词典) {
        if (arr.length < k + 1) {
            arr.length = k + 1;
        }
        arr[(cast(int)(k))] = v;
    }
    return arr;
}
dstring 获取SK关键字文本(long sk) {
    if (sk >= SK.左大括号 && sk <= SK.等号) {
        return 令牌文本数组[(cast(size_t)(sk))];
    }
    return ··null!(dstring);
}
